<?php
defined('BY_JYA') or exit('Access Denied');
if($do=='getbuyed'){
	$installed=$_RQ['plugins'];
	$plugins=pdo_getall('core_trade',array('uniacid'=>$_SESSION['uniacid'],'type'=>8),array('pid'),'pid');
	if(!empty($plugins)){
		$plugins=array_keys($plugins);
		if($installed){
			$plugins=array_diff($plugins,$installed);
		}
		if($plugins){
			$plugins=pdo_getall('cloud_h5game',array('status'=>1,'show'=>1,'id'=>$plugins),array('id','title','version','type','image'));
			foreach($plugins as &$row){
				$row['image']=tomedia($row['image']);
			}
		}else{
			$plugins=array();
		}
	}
	eci($plugins);
}
if($do=='getup'){
	$ids=trim($_RQ['cloud_ids']);
	if(!$ids){
		eci('页面参数错误！1','error');
	}
	$ids=explode(';',$ids);
	$plugins=pdo_getall('cloud_h5game',array('id'=>$ids),array('id','release','version'),'id');
	
	eci($plugins);
}
if($do=='install'){
	$id=intval($_RQ['cloud_id']);
	if(!$id){
		eci('请先选择要安装的小游戏！','error');
	}
	check_buy($id,8);
	$plugin=pdo_get('cloud_h5game',array('id'=>$id),array('id','name','title','type','version','image','release'));
	$zipname=H5GAME_ZIP.$plugin['name'].'.zip';
	if(!is_file($zipname)){
		eci('小游戏参数错误，缺少安装文件！','error');
	}
	$fsize=filesize($zipname);
	$size=1*1024*1024;
	$parts=ceil($fsize/$size);
		$parts=intval($parts);
		$download=array(
			'uniacid'=>$_SESSION['uniacid'],
			'type'=>2,
			'parts'=>$parts,
			'createtime'=>TIMESTAMP,
			'zipfile'=>str_replace(ROOT_AT,'',$zipname),
			'remark'=>"安装小游戏【{$plugin['title']}（{$plugin['name']}）】",
		);
		pdo_insert('core_cloud_download',$download);
		$id=pdo_insertid();
		$plugin['files']=array('id'=>$id,'parts'=>$parts);
	if($plugin['image']){
		$plugin['image']=tomedia($plugin['image']);
	}
	eci($plugin);
}
if($do=='build'){
	$id=intval($_RQ['cloud_id']);
	if(!$id){
		eci('请先选择要更新的应用！','error');
	}
	check_buy($id,8);
	
	//$return=array();
	//获取小游戏信息
	$plugin=pdo_get('cloud_h5game',array('id'=>$id),array('name','type','title','version','release','desc','image'));
	//整理版本文件
	$plugin['files']=array();
	$module_files=cfc('files')->file_tree(H5GAME_FILE.$plugin['name']);
	foreach($module_files as $file){
		$md5=md5_file(H5GAME_FILE.$plugin['name'].$file);
		$plugin['files'][]=array('path'=>$file,'checksum'=>$md5);
	}
	if($plugin['image']){
		$plugin['image']=tomedia($plugin['image']);
	}
	eci($plugin);
}
if($do=='getmodule'){
	$id=intval($_RQ['cloud_id']);
	if(!$id){
		eci('请先选择要更新的应用！1','error');
	}
	check_buy($id,8);
	$return=array();
	//获取小游戏信息
	$plugin=pdo_get('cloud_h5game',array('id'=>$id),array('name','title'));
	if(!$plugin['name']){
		eci('小游戏不存在！','error');
	}
	$files=$_RQ['files'];
	$zip = new ZipArchive();
	$zipname=cfc('files')->get_source_name('data','data');
    $zip->open(ROOT_AT.$zipname, ZipArchive::CREATE);
	foreach($files as $file){
		if(!empty($file)){
			$fname = H5GAME_FILE.$plugin['name']. $file;
			if(is_file($fname)){
				$zip->addFile($fname,$file);
			}
			
		}
	}
	$zip->close();
		//采用新方法下载更新数据
		$filesize=filesize(ROOT_AT.$zipname);
		$size=1*1024*1024;
		$parts=ceil($filesize/$size);
		$parts=intval($parts);
		$download=array(
			'uniacid'=>$_SESSION['uniacid'],
			'type'=>4,
			'parts'=>$parts,
			'createtime'=>TIMESTAMP,
			'zipfile'=>$zipname,
			'remark'=>"更新小游戏【{$plugin['title']}（{$plugin['name']}）】",
		);
		pdo_insert('core_cloud_download',$download);
		$id=pdo_insertid();
		$return=array('id'=>$id,'parts'=>$parts);
		eci($return);
}
